Welding location and order monitoring in welding systems

ABSTRACT

Apparatus, systems, and/or methods are disclosed relating to welding systems that monitor welds performed by an operator. In some examples, the welding system monitors one or more welds performed using a welding tool, evaluates characteristics of the one or more welds in comparison to certain predetermined criteria, and determines a performance score for the operator based on the evaluation. In some examples, the characteristics of the one or more welds include the location of each of the one or more welds and/or the order in which the one or more welds are executed. In such an example, the predetermined criteria may include target locations for each of the one or more welds and/or a target order of execution. In some examples, the welding system may respond to deviations from the target locations and/or target order, such as by reducing a performance score, disabling weld operations, providing guidance to the operator.

TECHNICAL FIELD

The present disclosure generally relates to welding systems and, moreparticularly, to welding location and order monitoring in weldingsystems.

BACKGROUND

Correctly completing all required welds at the specified locations andin the specified order is important to ensuring the quality of afinished assembly. Welding out of sequence or at incorrect locations cancause warpage, distortion, and/or other undesirable effects symptomaticof a poorly welded assembly. In conventional welding operations,locations and/or sequences of welds may be marked on an actual workpieceby operator using a pen, marker, or other writing utensil, so as to helpguide the operator during welding. However, this may not be possible forsimulated welding operations, and/or for welding operations where theworkpieces are resistant to conventional markings.

Limitations and disadvantages of conventional and traditional approacheswill become apparent to one of skill in the art, through comparison ofsuch systems with the present disclosure as set forth in the remainderof the present application with reference to the drawings.

SUMMARY

The present disclosure is directed to welding location and ordermonitoring in welding systems, for example, substantially as illustratedby and/or described in connection with at least one of the figures, andas set forth more completely in the claims.

These and other advantages, aspects and novel features of the presentdisclosure, as well as details of an illustrated example thereof, willbe more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating components of an example weldingsystem, in accordance with aspects of this disclosure.

FIG. 2 is a block diagram further illustrating the components of thewelding system of FIG. 1 , in accordance with aspects of thisdisclosure.

FIG. 3 is a flow diagram illustrating an example weld monitoring processthat may be used with the example welding system of FIGS. 1 and 2 , inaccordance with aspects of this disclosure.

FIGS. 4 a and 4 b illustrate example weld monitoring outputs to adisplay screen of the welding system of FIGS. 1 and 2 , in accordancewith aspects of this disclosure.

FIGS. 5 a-5 c are flow diagrams illustrating an example virtual markingprocess of the welding system of FIGS. 1 and 2 , in accordance withaspects of this disclosure.

FIGS. 6 a and 6 b illustrate different example virtual markingproperties on a display screen of the welding system of FIGS. 1 and 2 ,in accordance with aspects of this disclosure.

FIGS. 7 a-8 d illustrate example welding system components and virtualmarking outputs to a display screen of the welding system of FIGS. 1 and2 , in accordance with aspects of this disclosure.

FIGS. 9 a and 9 b illustrate another virtual marking example using auser interface of the welding systems of FIGS. 1 and 2 , in accordancewith aspects of this disclosure.

FIGS. 10 a-10 c illustrate example welding system components and virtualmarking outputs to a display screen of the welding system of FIGS. 1 and2 , in accordance with aspects of this disclosure.

The figures are not necessarily to scale. Where appropriate, the same orsimilar reference numerals are used in the figures to refer to similaror identical elements.

DETAILED DESCRIPTION

Preferred examples of the present disclosure may be describedhereinbelow with reference to the accompanying drawings. In thefollowing description, well-known functions or constructions are notdescribed in detail because they may obscure the disclosure inunnecessary detail. For this disclosure, the following terms anddefinitions shall apply.

As used herein, “and/or” means any one or more of the items in the listjoined by “and/or”. As an example, “x and/or y” means any element of thethree-element set {(x), (y), (x, y)}. In other words, “x and/or y” means“one or both of x and y”. As another example, “x, y, and/or z” means anyelement of the seven-element set {(x), (y), (z), (x, y), (x, z), (y, z),(x, y, z)}. In other words, “x, y and/or z” means “one or more of x, yand z”.

As utilized herein, the terms “e.g.,” and “for example” set off lists ofone or more non-limiting examples, instances, or illustrations.

As used herein, the terms “coupled,” “coupled to,” and “coupled with,”each mean a structural and/or electrical connection, whether attached,affixed, connected, joined, fastened, linked, and/or otherwise secured.As used herein, the term “attach” means to affix, couple, connect, join,fasten, link, and/or otherwise secure. As used herein, the term“connect” means to attach, affix, couple, join, fasten, link, and/orotherwise secure.

As used herein the terms “circuits” and “circuitry” refer to physicalelectronic components (i.e., hardware) and any software and/or firmware(“code”) which may configure the hardware, be executed by the hardware,and or otherwise be associated with the hardware. As used herein, forexample, a particular processor and memory may comprise a first“circuit” when executing a first one or more lines of code and maycomprise a second “circuit” when executing a second one or more lines ofcode. As utilized herein, circuitry is “operable” and/or “configured” toperform a function whenever the circuitry comprises the necessaryhardware and/or code (if any is necessary) to perform the function,regardless of whether performance of the function is disabled or enabled(e.g., by a user-configurable setting, factory trim, etc.).

As used herein, a control circuit may include digital and/or analogcircuitry, discrete and/or integrated circuitry, microprocessors, DSPs,etc., software, hardware and/or firmware, located on one or more boards,that form part or all of a controller, and/or are used to control awelding process, and/or a device such as a power source or wire feeder.

As used herein, the term “processor” means processing devices,apparatus, programs, circuits, components, systems, and subsystems,whether implemented in hardware, tangibly embodied software, or both,and whether or not it is programmable. The term “processor” as usedherein includes, but is not limited to, one or more computing devices,hardwired circuits, signal-modifying devices and systems, devices andmachines for controlling systems, central processing units, programmabledevices and systems, field-programmable gate arrays,application-specific integrated circuits, systems on a chip, systemscomprising discrete elements and/or circuits, state machines, virtualmachines, data processors, processing facilities, and combinations ofany of the foregoing. The processor may be, for example, any type ofgeneral purpose microprocessor or microcontroller, a digital signalprocessing (DSP) processor, an application-specific integrated circuit(ASIC), a graphic processing unit (GPU), a reduced instruction setcomputer (RISC) processor with an advanced RISC machine (ARM) core, etc.The processor may be coupled to, and/or integrated with a memory device.

As used, herein, the term “memory” and/or “memory device” means computerhardware or circuitry to store information for use by a processor and/orother digital device. The memory and/or memory device can be anysuitable type of computer memory or any other type of electronic storagemedium, such as, for example, read-only memory (ROM), random accessmemory (RAM), cache memory, compact disc read-only memory (CDROM),electro-optical memory, magneto-optical memory, programmable read-onlymemory (PROM), erasable programmable read-only memory (EPROM),electrically-erasable programmable read-only memory (EEPROM), acomputer-readable medium, or the like.

The term “power” is used throughout this specification for convenience,but also includes related measures such as energy, current, voltage, andenthalpy. For example, controlling “power” may involve controllingvoltage, current, energy, and/or enthalpy, and/or controlling based on“power” may involve controlling based on voltage, current, energy,and/or enthalpy.

As used herein, welding-type power refers to power suitable for welding,cladding, brazing, plasma cutting, induction heating, carbon arccutting, and/or hot wire welding/preheating (including laser welding andlaser cladding), carbon arc cutting or gouging, and/or resistivepreheating.

As used herein, a welding-type power supply and/or power source refersto any device capable of, when power is applied thereto, supplyingwelding, cladding, brazing, plasma cutting, induction heating, laser(including laser welding, laser hybrid, and laser cladding), carbon arccutting or gouging, and/or resistive preheating, including but notlimited to transformer-rectifiers, inverters, converters, resonant powersupplies, quasi-resonant power supplies, switch-mode power supplies,etc., as well as control circuitry and other ancillary circuitryassociated therewith.

Some examples of the present disclosure relate to a weld system,comprising processing circuitry, and a machine readable storage devicecomprising machine readable instructions which, when executed, cause theprocessing circuitry to monitor one or more welds performed using awelding tool, wherein the monitoring includes monitoring a location ororder of the one or more welds, and determine a performance score forthe one or more welds based on whether the location or order of the oneor more welds corresponds to a predetermined criteria.

In some examples, the performance score is additionally based on one ormore of a measured weld technique, weld equipment settings, thelocations of the welds, lengths of the welds, a number of completedwelds, or a number of missed welds. In some examples, the predeterminedcriteria comprises an ordered sequence of welding locations. In someexamples, the system further comprises a display screen configured todisplay a plurality of visual identifiers corresponding to thepredetermined criteria. In some examples, the machine readableinstructions, when executed, further cause the processing circuitry toprohibit welding when the sequence of welds does not correspond to thepredetermined criteria. In some examples, the one or more welds compriseone or more simulated welds. In some examples, the system furthercomprises a display screen configured to display the one or moresimulated welds. In some examples, the one or more welds comprise one ormore live welds. In some examples, the system further comprises one ormore cameras, wherein the machine readable storage device furthercomprises machine readable instructions which, when executed, cause theprocessing circuitry to track a welding tool location using the one ormore cameras. In some examples, the system further comprises a mock orlive welding-type power supply, wherein the machine readable storagedevice further comprises machine readable instructions which, whenexecuted, cause the processing circuitry to set welding parameters ofthe mock or live welding-type power supply based on the welding toollocation.

Some examples of the present disclosure relate to a method for welding,comprising monitoring one or more welds performed using a welding tool,wherein the monitoring includes monitoring a location or order of theone or more welds, and determining, via processing circuitry, aperformance score for the one or more welds based on whether thelocation or order of the one or more welds corresponds to apredetermined criteria.

In some examples, the performance score is additionally based on one ormore of a measured weld technique, weld equipment settings, thelocations of the welds, lengths of the welds, a number of completedwelds, or a number of missed welds. In some examples, the predeterminedcriteria comprises an ordered sequence of welding locations. In someexamples, the method further comprises displaying, on a display screen,a plurality of visual identifiers corresponding to the predeterminedcriteria. In some examples, the method further comprises prohibiting,via the processing circuitry, welding when the sequence of welds doesnot correspond to the predetermined criteria. In some examples, the oneor more welds comprise one or more simulated welds. In some examples,the method further comprises displaying the one or more simulated weldson a display screen. In some examples, the one or more welds compriseone or more live welds. In some examples, monitoring the location ororder of the one or more welds comprises tracking a welding toollocation using one or more cameras. In some examples, the method furthercomprises setting one or more welding parameters of a welding-type powersupply based on the welding tool location.

Some examples of the present disclosure relate to welding systems thatmonitor welds performed by an operator. In some examples, the weldingsystem monitors one or more welds performed using a welding tool,evaluates characteristics of the one or more welds in comparison tocertain predetermined criteria, and determines a performance score forthe operator based on the evaluation. In some examples, thecharacteristics of the one or more welds include the location of each ofthe one or more welds and/or the order in which the one or more weldsare executed. In such an example, the predetermined criteria may includetarget locations for each of the one or more welds and/or a target orderof execution. In some examples, the weld monitoring process may respondto deviations from the target locations and/or target order, such as byreducing a performance score, disabling weld operations, providingguidance to the operator, etc.

Some examples of the present disclosure further relate to weldingsystems that allow for virtual marking of welding workpieces, such as toprovide guidance to welding operators, for example. In some examples,the welding system generates and/or displays one or more virtualmarkings on a display of the welding system in response to a staticinput (e.g., predetermined virtual marking data, such as may be storedin memory). However, in some examples, a welding operator (or other useror program) may wish to generate virtual markings on the fly. Thus, insome examples, the welding system generates and/or displays one or morevirtual markings on a display of the welding system in response to adynamic input.

In some examples, the dynamic input may comprise one or more of a userinput received via a user interface, a marking instrument, and/or awelding gun of the welding system. In some examples, the dynamic inputmay comprise images captured by the welding system and recognized by thewelding system. In some examples, the virtual markings may guide anoperator by indicating weld locations and/or weld order. In someexamples, the virtual markings may be associated with certain details(and/or metadata) that may be accessed and/or displayed to provideadditional information and/or guidance to the operator.

FIG. 1 shows an example of a welding system 100. In some examples, thewelding system 100 may be used for weld training. In some examples, thewelding system 100 may be used for live welding (e.g., in a factory,shipyard, construction site, etc.). In some examples the welding system100 may include a live welding system and/or an augmented (and/orvirtual and/or mixed) reality welding system.

In the example of FIG. 1 , the welding system 100 includes a pluralityof cameras 114 focused on a welding cell 102, a welding torch 118coupled to a welding-type power supply 108 within the welding cell 102,and a computing system 200 in communication with the welding-type powersupply 108, the welding torch 118 (e.g., via the welding-type powersupply 108), and cameras 114. In some examples, the welding-type powersupply 108 is omitted, and the welding torch 118 is in directcommunication with the computing system 200. In the example of FIG. 1 ,the welding system 100 additionally includes ruler 150 and markingutensil 152 atop welding bench 112, near workpieces 110 (though, in someexamples, the ruler 150 and/or marking utensil 152 may also be omitted).In some examples, ultrasonic, radio frequency, magnetic, audio, and/ormillimeter wave sensors may be used instead of, or in addition to, thecameras 114.

In the example of FIG. 1 , an operator 116 is handling the welding torch118 near the welding bench 112. In the example of FIG. 1 , the weldingtorch 118 is a gun configured for gas metal arc welding (GMAW). In someexamples, the welding torch 118 may comprise an electrode holder (i.e.,stinger) configured for shielded metal arc welding (SMAW). In someexamples, the welding torch 118 may comprise a torch and/or filler rodconfigured for gas tungsten arc welding (GTAW). In some examples, thewelding torch 118 may comprise a gun configured for flux-cored arcwelding (FCAW). In some examples, the welding torch 118 mayadditionally, or alternatively, comprise a filler rod. As shown in theexample of FIG. 1 , the welding torch 118 includes a trigger 119 and asecondary input 154 (e.g., trigger, switch, button, knob, and/or otherinput interface). In some examples, the trigger 119 may be activated bythe operator 116 to trigger a welding operation. In some examples, thesecondary input 154 may be activated (e.g., by the operator) to initiate(or otherwise impact) a virtual marking operation. In some examples, thesecondary input 154 may act as an input to change modes (e.g., between amarkup mode, an informational mode, and/or an operational mode). In someexamples, the welding torch 118 may include additional inputs (notshown).

As shown, the operator 116 is wearing a welding helmet 120 while usingthe welding torch 118. In the example of FIG. 1 , the welding helmet 120has a faceplate 121. In some examples, the faceplate 121 comprises atransparent (or semi-transparent) lens through which an operator 116 mayview welding operations. In some examples, an electronic display screen104 (shown in FIG. 2 ) is secured within the welding helmet 120. In someexamples, the electronic display screen 104 may be part of the faceplate121, and/or vice versa. In some examples, the electronic display screen104 may be entirely separate from the welding helmet 120. In someexamples, the electronic display screen 104 may be a laminate overlayingsome or all of the faceplate 121, such that the operator 116 may lookthrough the faceplate 121 and view (at least portions of) the displayscreen 104 simultaneously.

In the example of FIG. 1 , the welding system 100 includes severalcameras 114. In some examples, the cameras 114 may include thermalcameras, infrared cameras, optical cameras, and/or digital videocameras. As shown, some cameras 114 are positioned around the weldingcell 102, such as hung from the ceiling and/or attached to some otherfixture. As shown, several cameras 114 are also attached to the weldinghelmet 120. In the example of FIG. 1 , there are two cameras 114attached to the welding helmet 120. While, in some examples, only onecamera 114 may be used, two cameras 114 may improve accuracy and/orprecision of spatial and/or depth perception, object recognition, and/orimage processing. In some examples there may be a third camera 114 thatis hidden or obscured in FIG. 1 due to the stance of the operator 116.In some examples, the third camera may improve accuracy and/or precisionof spatial and/or depth perception and/or processing. In examples wherethere are three cameras 114, the cameras 114 may be arranged in atriangle configuration. In some examples, the cameras 114 are movablymounted, and/or have movable lenses configured to redirect a focus(and/or adjust certain attributes) of the cameras 114, such as inresponse to one or more command signals (e.g., received from computingsystem 200 and/or camera controller(s) 124).

In the example of FIG. 1 , each camera 114 has its own camera controller124. In some examples, multiple cameras 114 may share controllers 124.In some examples, the controllers 124 may be embodied in the cameras 114themselves. In some examples, the cameras 114 are configured to captureimages of the ruler 150, marking utensil 152, welding torch 118,workpieces 110, and/or other objects within and/or relating to thewelding cell 102. In some examples, the cameras 114 are configured toencode the captured images in image signals. In some examples, thecamera controller(s) 124 are configured to control the cameras 114,collect image signals from the cameras 114, and/or communicate the imagesignals (and/or data representative of the image signals or encodedimages) to the computing system 200. In some examples, the controllers124 comprise appropriate communication circuitry (e.g., hardware,firmware, and/or software) to communicate with the computing system 200(e.g., IEEE 2502.X and/or 802.11x compliant wireless and/or wiredcommunications hardware for transmitting and/or receivingcommunications).

In the example of FIG. 1 , the workpieces 110 and welding torch 118within the welding cell 102 include markers 122 (e.g., unique patternmarkers). FIGS. 7 a-8 d additionally show the ruler 150 and markingutensil 152 including markers 122. In some examples, the markers 122 areconfigured to facilitate image capture by the cameras 114 and/or imageinterpretation by the computing system 200. In some examples, themarkers 122 may be removably attached to the ruler 150, marking utensil152, workpieces 110, and/or welding torch 118, such as through the useof adhesives, magnets, loop and hook fasteners, etc. In some examples,markers 122 may be attached to other welding components and/or items(e.g., clamps, welding-type power supply 108, bench 112, etc.) withinthe welding cell 102. In some examples, the markers 122 facilitate imagecapture, image processing, object recognition, object tracking, and/orposition/orientation detection of the objects to which the markers 122are attached, as well as other objects in proximity. In some examples,the markers 122 may be active or passive. In some examples, the markers122 may be omitted, and the welding system 100 may perform its objectrecognition, object tracking, and/or position detection using markerlesstechniques.

In the example of FIGS. 7 a-8 d , the ruler 150 includes markings 122that may assist the welding system 100 (e.g., cameras 114 and/orcomputing system 200) in recognizing and/or locating the ruler 150. Insome examples, measurements 156 on the ruler 150 may be used to guide anoperator 116 or other user when creating virtual markings 600, asfurther discussed below. As shown, the computing system 200 displays themeasurements 156 in the display screen 104 in the same relative locationon the workpiece 110 as the measurements 156 on the actual ruler 150. Inoperation, the measurements 156 may assist the operator 116 in weldingoperations and/or virtual marking. In some examples, the ruler 150 maybe omitted, and the measurements 156 may be displayed without the ruler150 (e.g., by using known measurements and/or models of the workpiece(s)110 and/or other objects).

In the example of FIGS. 7 a-8 d , the marking utensil 152 includes abody 158, a neck 160, and a tip 162. As shown, the neck 160 and tip 162include markings 122. In some examples, the markings 122 may assist theweld system 100 (e.g., cameras 114 and/or computing system 200) inrecognizing, locating, and/or orienting the marking utensil 152. In theexample of FIGS. 7 a-8 d , the body 158 of the marking utensil 152includes a first input 164 and a second input 166. While two inputs areshown, in some examples the marking utensil 152 may include more or lessinputs. In the example of FIGS. 7 a-8 d , the first input 164 and secondinput 166 are depicted as buttons. In some examples, the first input 164and/or second input 166 may instead be switches, dials, keys, knobs,and/or other appropriate user interface input mechanisms.

In some examples, the marking utensil 152 may include communicationcircuitry (not shown). In some examples, the marking utensil 152 may beconfigured to transmit (via communication circuitry) one or more signalsto the computing system 200 (and/or welding-type power supply 108) inresponse to, and/or indicative of, user input via the first input 164and/or second input 166. For example, activation (e.g., pressing,clicking, flipping, turning, etc.) of the first input 164 may induce themarking utensil 152 to send a signal indicative of a change of modes(e.g., between a markup mode, an informational mode, and/or anoperational mode). As another example, activation (e.g., pressing,clicking, flipping, turning, etc.) of the second input 166 may inducethe marking utensil 152 to send a signal indicative of creation,placement, modification, removal, and/or activation of a virtual marking600. While the marking utensil 152 is depicted as a pen like utensil inthe example of FIG. 1 , in some examples, the marking utensil 152 maycomprise some other utensil, such as, for example, a (live or mock)filler rod, welding electrode, welding torch, etc. In some examples, thewelding torch 118 may be used to generate virtual markings on theworkpieces 110 in place of, or in addition to, the marking utensil 152.

In some examples, the one or more of the workpieces 110 are mockworkpieces, such as may be used for training purposes. In examples whereone or more of the workpieces 110 comprise mock workpieces, thecomputing system 200 may store predetermined 3D models of the workpieces110. In some examples, one or more of the workpieces 110 comprise liveworkpieces, such as may be used during live welding. In examples whereone or more of the workpieces 110 comprise live workpieces, a 3D modelof the workpieces 110 may be dynamically developed, such as through theuse of a 3D scanner (not shown) and/or one or more template models. Thecomputing system 200 may additionally (or alternatively) store 3D modelsof the ruler 150, marking utensil 152, welding bench 112 (and/or otherfixtures), and/or welding torch 118, and use these models whendetermining position and/or orientation. In some examples, a calibrationprocess may be used to assist with determining position and/ororientation.

In some examples, the cameras 114 may use the markers 122 to monitorand/or track the location and/or movement of the welding torch 118. Insome examples, the welding torch 118 may be a live, functional, weldingtorch coupled to a live welding-type power supply 108. In some examples,the welding torch 118 may instead be a mock welding torch coupled to amock welding-type power supply 108. In some examples, the mockwelding-type power supply 108 may be implemented via computing system200, and the welding torch 118 may be coupled directly to the computingsystem 200. In still other examples, the welding torch 118 may be asmart welding torch that can be selectively coupled to welding power ordecoupled from welding power based on the desired welding or trainingtask.

In the example of FIG. 1 , the welding torch 118 is coupled to thewelding-type power supply 108 via a welding cable 126. The welding-typepower supply 108 is, in turn, in communication with computing system200, such as via a communication device 128 or a conduit 130. Inexamples where the welding torch 118 is a live welding torch and/or thewelding-type power supply 108 is a live welding-type power supply 108,the welding-type power supply 108 outputs electrical power to thewelding torch 118 via the welding cable 126. In the example of FIG. 1 ,the welding-type power supply 108 includes power conversion circuitry132 configured to receive input power (e.g., from mains power, agenerator, etc.) and convert the input power to welding-type power. Asshown, the welding-type power supply 108 further includes controlcircuitry 134 configured to control the power conversion circuitry 132.In the example of FIG. 2 , the control circuitry 134 includes one ormore processors 136 and memory 138.

As shown, the welding-type power supply 108 further includes (and/or iscoupled to) a wire feeder 140 and gas supply 142. In some examples, thewelding-type power supply 108 may control output of wire and/or gas fromthe wire feeder 140 and/or gas supply 142. For example, controlcircuitry 134 within the welding-type power supply 108 may control amotor of the wire feeder 140 and/or a valve in communication with thegas supply 142 to regulate wire and/or gas delivered to the weldingtorch 118. In some examples, wire and/or gas from the wire feeder 140and/or gas supply 142 may be delivered to the welding torch 118 throughthe welding cable 126. In live operation, when the operator 116activates a trigger 119 of the welding torch 118, the welding torch 118uses the welding-type power provided by the welding-type power supply108 (and/or the welding wire and/or gas provided by the wire feeder 140and/or gas supply 142) to apply a welding arc to one or more workpieces110.

In the example of FIG. 1 , the welding-type power supply 108 alsoincludes an operator interface 144. The operator interface 144 comprisesone or more adjustable inputs (e.g., knobs, buttons, switches, keys,etc.) and/or outputs (e.g., display screens, lights, speakers, etc.). Insome examples, the operator 116 may use the operator interface 144 toenter and/or select one or more weld settings (e.g., voltage, current,gas type, wire feed speed, workpiece material type, filler type, etc.)for the welding-type power supply 108. In some examples, the weldsettings may be stored in the memory 136 of the welding-type powersupply 108. The welding-type power supply 108 may then control (e.g.,via control circuitry 134) its operation according to the weld settings.In the example of FIG. 1 , the operator interface 144 may furtherinclude one or more receptacles configured for connection to (and/orreception of) one or more external memory devices (e.g., floppy disks,compact discs, digital video disc, flash drive, etc.).

In some examples, the welding-type power supply 108 may communicate withcomputing system 200 through conduit 130 and/or communication device125. In some examples, the computing system 200 may be implemented viathe welding-type power supply 108 (e.g., via the control circuitry 134of the welding-type power supply 108). In some examples, the weldingtorch 118 may additionally, or alternatively, be in direct communicationwith the computing system 200.

In the example of FIG. 1 , the computing system 200 includes an antenna201 through which the computing system 200 may wirelessly communicatewith various devices of the welding system 100. In some examples, theantenna 201 comprises part (or all) of communication circuitry 202(further discussed below with respect to FIG. 2 ) of the computingsystem 200. In some examples, the cameras 114, camera controllers 124,display screen 104, user interface 106, welding torch 118, welding-typepower supply 108, marking utensil 152, and/or computing system 200 maycommunicate via one or more wired media and/or protocols (e.g., Ethernetcable(s), universal serial bus cable(s), other signal and/orcommunication cable(s)) and/or wireless mediums and/or protocols (e.g.,near field communication (NFC), ultra high frequency radio waves(commonly known as Bluetooth), IEEE 802.11x, Zigbee, HART, LTE, Z-Wave,WirelessHD, WiGig, etc.). As shown the computing system 200 is furtherin communication with a user interface 106.

In the example of FIG. 1 , the user interface 106 comprises a touchscreen interface, such as a tablet, touch screen computer, smartphone orother touch screen device. In some examples, the user interface 106 mayinstead comprise more traditional input devices (e.g., mouse, keyboard,buttons, knobs, etc.) and/or output devices (e.g., display screen,speakers, etc.). In some examples, the user interface 106 may furtherinclude one or more receptacles configured for connection to (and/orreception of) one or more external memory devices (e.g., floppy disks,compact discs, digital video disc, flash drive, etc.).

In some examples, the user interface 106 may receive input from theoperator 116 (or other sources) relating to operation of the computingsystem 200. In some examples, the user interface 106 may outputinformation relating to operation of the welding system 100. Forexample, the user interface 106 may output a visual depiction of whatthe operator 116 sees on the display 104. As another example, the userinterface 106 may output documentation (e.g., drawings, blueprints,diagrams, schematics, instructions, work orders, etc.) related to one ormore weld projects. In some examples, an operator 116 may use thedocumentation to determine appropriate weld locations, weld order, weldsettings, weld techniques, etc. In some examples, the documentation mayinclude one or more explicit depictions and/or descriptions of the weldlocations, weld order, weld settings, weld techniques, etc.

In some examples, the welding system 100 may be an augmented reality(AR) welding system, such as may be used in the context of weld trainingor AR live welding, for example. In some weld training examples, thewelding torch 118 may be a mock welding torch configured for simulatedwelding (rather than live welding). In some welding training examples,the computing system 200 may be configured to generate a simulatedrendering for display to the operator 116 (e.g., via display screen 104,discussed further below with respect to FIG. 2 ). For example, thesimulated rendering may include a simulated arc, a simulated weld pool,renderings of the workpieces 110 that make the workpieces 110 appear tobe of a different material, etc. In some examples, the simulatedrendering may based on images captured by the cameras 114 in conjunctionwith one or more user adjustable settings and/or inputs. For example,certain welding components (e.g., trigger 119 of the welding torch 118,user interface 106, etc.) may provide input signals that cause thecomputing system 200 to render a simulated arc. In some examples, thesimulated rendering is shown to the operator 116 via display screen 104,which may be part of, or separate from, welding helmet 120.

In some examples, the computing system 200 uses camera-captured imagesof markers 122 on the welding torch 118 and/or workpiece 110 (and/orother components) to create the simulated rendering. In some examples,the computing system 200 may be configured to recognize the markers 122on the workpiece 110 and/or welding torch 118, and create a simulatedrendering based (at least in part) on the markers 122. For example, thecomputing system 200 may use the markers 122 to recognize and/or trackthe welding torch 118, workpiece 110, ruler 150, marking utensil 152,and/or other objects, as well as their respective shapes, sizes,orientations, spatial relationships, etc. In some examples, thecomputing system 200 may combine recognition of markers 122 with userinput to create the simulated rendering. For example, the computingsystem 200 may recognize markers 122 on the welding torch 118 nearmarkers 122 on the workpiece 110 and, after recognizing that the user ispressing a trigger 119 of the welding torch 118, create a simulatedrendering showing an arc between the welding torch 118 and the workpiece110, and/or a weld pool proximate the arc endpoint on the workpiece 110.In some examples, the computing system 200 is configured to omit themarkers 122 from the simulated rendering.

In some examples, the welding system 100 may be used in the context oflive welding. In some live welding examples, the welding torch 118and/or welding-type power supply 108 may be configured for live welding(rather than simulated welding). In some live welding examples, thecomputing system 200 may still be configured to generate a rendering fordisplay to the operator 116 (e.g., via display screen 104). However,instead of including simulated arcs or simulated weld pools in therendering, the computing system 200 may instead render certain visualsto provide guidance and/or feedback to the operator 116 during livewelding operations. In some live welding examples, the display screen104 may be arranged around a periphery (or other portion) of thefaceplate 121, arranged to obstruct only a small portion of thefaceplate 121, and/or configured to allow the operator 116 to seethrough the faceplate without obscuring the view of the live weldingoperations.

FIG. 2 is a block diagram illustrating some components of the weldingsystem 100 of FIG. 1 . In the example of FIG. 2 , the computing system200 is in communication with the user interface 106, the display screen104, the welding-type power supply 108, the welding torch 118 (e.g.,through the welding-type power supply 108), and the cameras 114 (e.g.,through the camera controller(s) 124). In some examples, the cameras 114may be in direct communication with the computing system 200 withoutgoing through the camera controller(s) 124. In some examples, thewelding torch 118 may be in direct communication with the computingsystem 200 without going through the welding-type power supply 108. Asshown, the computing system 200 includes communication circuitry 202configured to facilitate communication between the computing system andthe user interface 106 (and/or helmet interface 113), the display screen104, one or more welding components (e.g., welding torch 118), and thecameras 114 (e.g., through the camera controller(s) 124).

In some examples, the communication circuitry 202 may comprise hardware,firmware, and/or software configured for communication with the variouscomponents of the welding system 101. In some examples, thecommunication circuitry 202 may comprise one or more network interfaces,such as, for example, an IEEE 2502.X and/or 802.11x compliant networkinterface. In some examples, the display screen 104, welding-type powersupply 108, and/or welding torch 118 may comprise similar communicationcircuitry configured to facilitate communication with communicationcircuitry 202 of the computing system 200.

In the example of FIG. 2 , the computing system 200 also includes memory206 and one or more processors 204. As shown, the memory 206,processor(s) 204, and communication circuitry 202 are in electricalcommunication with each other, such as through a common data bus. Theone or more processors 204 are configured to execute instructions storedin the memory 206. In the example of FIG. 2 , the memory 206 storesexecutable instructions that, when executed by the processor, furtheroperation of the welding system 100. As shown, the memory 206 storesinstructions relating to a weld monitoring process 300 and a virtualmarking process 500.

In the example of FIG. 2 , the memory 206 also stores data that may beused by the weld monitoring process 300 and/or virtual marking process500. In particular, as shown, the memory 206 stores one or more threedimensional models 250 (e.g., of workpieces 110, ruler 150, markingutensil 152, welding torch 118, etc.), one or more scores 350 (e.g., oneor more performance scores 350 for one or more operators 116), weldcriteria 352 (e.g., criteria to determine the score(s)), and markingdata 550 (e.g., data related to virtual marking of workpieces 110). Insome examples, some or all of the 3D model(s) 250, score(s) 350, weldcriteria 352, and/or marking data 550 may be stored in (and/or retrievedfrom) an external memory (e.g., flash drive, compact disc, external harddrive, network storage, etc.).

In some examples, the 3D models 250 may be used by the computing system200 when processing images captured by the cameras 114, such as tofacilitate object recognition and/or location analysis. In someexamples, the scores 350 may be used as a numerical representation ofoperator performance. In some examples, each score 350 may be anumerical value (e.g., 0-100), a letter grade (e.g., A, B, C, D, etc.),a color (e.g., green, yellow, red, etc.), a label (e.g., Very Good,Good, Adequate, Bad, Very Bad, Pass, Fail, etc.), and/or some otherindication of the performance of the operator 116.

In some examples, the weld criteria 352 comprise criteria upon which theoperator score(s) 350 may be at least partially based. In the example ofFIG. 2 , the weld criteria 352 include target weld locations (e.g.,absolute and/or workpiece 110 relative beginning/intermediate/endingcoordinates), target order of the welds, target weld settings (e.g.,voltage, current, gas type, wire feed speed, workpiece material type,filler type, etc.) for each weld, and target weld techniques (e.g.,torch angle, torch speed, torch tip to work distance, etc.) for eachweld. In some examples, the weld criteria 352 may be different fordifferent operators 116 and/or different welding projects. In someexamples, some or all of the weld criteria 352 may be input and/oredited by one or more operators 116 and/or other users (e.g., teachers,trainers, supervisors, etc.), and/or imported from an external source.

In some examples, the marking data 550 comprises data related to virtualmarkings 600. In the example of FIG. 2 , the marking data 550 includesmarking locations (e.g., absolute and/or workpiece relativebeginning/intermediate/ending coordinates of virtual marking(s)),marking details (e.g., length(s), angle(s), curvature(s), order,associated weld settings, associated weld technique(s), etc.), markingproperties (e.g., color(s), style(s), transparency, thickness, etc.),active marking(s) (e.g., which, if any, virtual marking(s) 600 areactive), marking mechanism(s) (e.g., parameters of active and/orpotential marking mechanism(s)), and mode (e.g., marking mode,information mode, operation mode, etc.). In some examples, the markingdata 550 may include more or less data (e.g., no mode). In someexamples, some or all of the marking data 550 may be input and/or editedby one or more operators 116 and/or other users (e.g., teachers,trainers, supervisors, etc.), and/or imported form an external source.

FIG. 3 is a flowchart illustrating an example weld monitoring process300 of the welding system 100. In some examples, some or all of the weldmonitoring process 300 may be implemented in machine readableinstructions stored in memory 206 and/or executed by the one or moreprocessors 204. In some examples, some or all of the weld monitoringprocess 300 may be implemented in analog and/or discrete circuitry. Insome examples, the weld monitoring process 300 may be implemented viathe welding-type power supply 108, such as through control circuitry 134(and/or memory 136 and processor(s) 138). In some examples, the weldmonitoring process 300 is configured to monitor welding operations(e.g., conducted via welding torch 118), such as by processing theimages captured by cameras 114 along with the various inputs and/orsettings of the welding system 100 and evaluating against weld criteria352.

In the example of FIG. 3 , the example weld monitoring process 300 isillustrated with respect to a single weld project (and/or session)having one or more welds. In the example of FIG. 3 , the weld monitoringprocess 300 begins at block 302, where the first (or next) target weldis determined, along with the target weld location. In some examples,the target weld and/or target weld location may be determined based onthe weld criteria 352 (e.g., the target weld locations and/or targetweld order). In some example, the target weld may comprise multiplewelds, such as if, for example, any of a set of welds would beacceptable according to the order in the weld criteria 352. In someexample, the target weld may comprise a single specific weld, such asif, for example, a particular weld should be next performed according tothe order in the weld criteria 352. As shown, the weld monitoringprocess 300 proceeds to block 303 after block 302.

At block 303, the weld monitoring process 300 determines target weldsettings for the target weld and communicates (e.g., via one or moresignals) with the welding-type power supply 108 to implement (e.g., viathe control circuitry 134) the target weld settings. In some examples,the target weld settings are determined based on the weld criteria 352and the target weld. In some examples, block 303 may be skipped,allowing (or requiring) the operator 116 to manually enter the weldsettings. At block 304, the weld monitoring process 300 determines alocation and/or orientation of the welding torch 118, such as byprocessing the images (and/or markers 122) captured by cameras 114. Insome examples, the weld monitoring process 300 may use marker basedobject recognition and tracking techniques to determine the location ofthe welding torch 118 from the images captured by the cameras 114.

At block 306 the weld monitoring process 300 determines whether thelocation of the welding torch 118 matches the target weld location. Insome examples, the determination at block 306 may only occur when and/orwhile a certain input is detected (e.g., a signal indicating the trigger119 is activated). In some examples, this determination may involve acomparison of the location of the welding torch 118 to the target weldlocation. For example, the weld monitoring process 300 may compare alocation of the welding torch 118 (and/or a specific portion of thewelding torch 118, such as the nozzle) to one or more points and/orpaths representative of the target weld location (and/or an areaproximal to and/or within a threshold distance of the target weldlocation). If the weld monitoring process 300 determines that thelocation of the welding torch 118 does not match the target weldlocation, or is outside some threshold area around to the target weldlocation, then the weld monitoring process 300 proceeds to block 308. Ifthe weld monitoring process 300 determines that the location of thewelding torch 118 matches the target weld location, or is within somethreshold area around to the target weld location, then the weldmonitoring process 300 proceeds to block 312.

At block 312, the weld monitoring process 300 positively impacts thescore 350 in response to the positive match at block 306. For example,the weld monitoring process 300 may increase a weld score for thatparticular target weld, record a certain positive point value for thatparticular target weld, decline to decrement the current score (e.g.,where the current score starts at 100), and/or otherwise positivelyimpact the score 350. In some examples, the operator 116 may be informedof the positive scoring impact via the display screen 104 and/or userinterface 106, such as through one or more audible and/or visualindications (e.g., chime, a cheer, a check mark, a plus sign, an uparrow, the score increase amount, etc.).

FIG. 4 a shows an example of positive visual indications provided to thedisplay screen 104 in response to a positive match at block 306. Asshown, a check mark 402 is displayed next to the target weld location404 to indicate the welding torch 118 is in the proper location for thecurrent weld. Additionally, a score increase indication 406 of “+20” isshown in the upper right hand corner of the display screen 104. In theexample of FIG. 3 , the weld monitoring process proceeds to block 313after block 312.

However, in response to a negative match at block 306, the weldmonitoring process 300 negatively impacts the score 350 at block 308.For example, the weld monitoring process 300 may decrease a weld scorefor that particular target weld, record a certain negative point valuefor that particular target weld, decrement the current score (e.g.,where the current score starts at 100), and/or otherwise negativelyimpact the score 350. In some examples, the operator 116 may be informedof the negative scoring impact via the display screen 104 and/or userinterface 106, such as through one or more audible and/or visualindications (e.g., a buzzer, a boo, an “X” mark, a minus sign, a downarrow, the score decrease amount, etc.). In the example of FIG. 3 , theweld monitoring process 300 proceeds to block 309 after block 308.

At block 309, the weld monitoring process 300 disables weldingoperations. In some live welding examples, the weld monitoring process300 may disable welding operations by communicating (e.g., via one ormore signals) an appropriate disable request (or command) to thewelding-type power supply 108. The welding-type power supply 108 may, inturn, cease (e.g., via the control circuitry 134) generating and/orsending welding-type power to the welding torch 118. In some augmentedreality welding examples, the computing system 200 may disable weldingoperations by simply declining to generate simulated renderingsdepicting a simulated welding operation. In some examples, block 309 maybe skipped altogether, such as, for example, in response to an overrideundertaken (e.g., via the user interface 106 and/or operator interface144) by an operator 116 with appropriate authorizations and/orcredentials. As shown, the weld monitoring process 300 proceeds to block310 after block 309.

At block 310 the weld monitoring process 300 provides guidance to theoperator 116 to assist in bringing the actual location of the weldingtorch 118 into alignment with the target weld location 404. In someexamples, the guidance may be audible and/or visual, such as, forexample, verbal cues, arrows, directions, coordinates, outlines,highlighting, diagrams, and/or other appropriate forms of guidance. Insome examples, the guidance may be provided via the user interface 106and/or operator interface 144.

FIG. 4 b shows an example of negative visual indications that may beprovided to the display screen 104 at blocks 308 and/or 310. As shown,an “X” mark 403 is displayed over the tip (and/or nozzle) of the weldingtorch 118 to indicate that the welding torch 118 is not at the targetweld location 404. As shown, an arrow 408 is displayed pointing from thewelding torch 118 towards the target weld location 404. In the exampleof FIG. 4 b , a “−20” score decrease indication 407 is shown in theupper right hand corner of the display screen 104.

In the example of FIG. 3 , the weld monitoring process 300 proceeds toblock 304 after block 310 in order to reevaluate the location of thewelding torch 118. In some examples, such reevaluation may be used todetermine whether the operator 116 has moved the welding torch 118 to adifferent location in response to the guidance. In some examples, theweld monitoring process 300 may instead proceed to block 313 or 314after block 310, such as in response to an override undertaken (e.g.,via the user interface 106 and/or operator interface 144) by an operator116 with appropriate authorizations and/or credentials.

In the example of FIG. 3 , the weld monitoring process 300 proceeds toblock 313 after block 312. At block 313, the weld monitoring process 300enables welding operations. In some live welding examples, the weldmonitoring process 300 may enable welding operations by communicating(e.g., via one or more signals) an appropriate enable request (orcommand) to the welding-type power supply 108. The welding-type powersupply 108 may, in turn, control (e.g., via the control circuitry 134)the power conversion circuitry 132 to generate and/or send welding-typepower to the welding torch 118. In some augmented reality weldingexamples, the computing system 200 may enable welding operations bygenerating simulated renderings depicting a simulated welding operationin response to appropriate inputs (e.g., a signal indicating the trigger119 is activated).

In some examples, the determination at block 306 may occur again and/orcontinuously at block 313 while a certain input is detected (e.g., theentire time there is a signal indicating the trigger 119 is pressed,held, and/or otherwise activated). In some examples where thedetermination occurs continuously, the weld monitoring process 300 mayrecord the number (and/or frequency) of matching and/or mismatchingdeterminations for evaluation. In some examples where the determinationoccurs continuously, blocks 306, 308, 309, 310, and/or 312 may repeatuntil some terminating input (and/or lack of input) is detected (e.g., asignal and/or lack of signal indicating cessation of welding and/orrelease of the trigger 119), at which point the evaluation aspect ofblock 313 may execute.

The weld monitoring process 300 further evaluates welding operations atblock 313. In some examples, the evaluation at block 313 comprisesevaluating the weld settings against the target weld settings of theweld criteria 352. The evaluation of weld settings may be performed if,for example, block 303 was skipped, or to determine if any adjustmentswere made after block 303. In some examples, the evaluation at block 313may further comprise monitoring movement of the welding torch 118 (e.g.,via the cameras 114) and determining characteristics of the weldingoperation. For example, the monitored characteristics may be indicativeof the welding technique of the operator 116, and the weld monitoringprocess 300 may evaluate the welding technique against the targetedwelding technique of the weld criteria 352. In some examples, the weldmonitoring process 300 records the characteristics (and/or evaluations)in memory 206. In some examples, the evaluation may positively ornegatively (or neutrally) impact the score 350, depending on how well(or poorly) the monitored settings, techniques, and/or other weldcharacteristics match up to the target weld criteria 352.

In the example of FIG. 3 , the weld monitoring process proceeds to block314 after block 313. At block 314, the weld monitoring process 300determines whether there is another weld for this weld project. If thereis another weld, the weld monitoring process 300 iterates to the nextweld at block 316, and then proceeds back to block 302. If there is noother weld, the weld monitoring process 300 proceeds to block 318.

At block 318, the weld monitoring process 300 determines an overallperformance score 350 for the operator 116. In some examples, theperformance score 350 may be an average of performance scores for eachindividual weld in the weld project. In some examples, the performancescore 350 may be a weighted average of performance scores for eachindividual weld in the weld project, where some individual welds areworth (and/or weighted) more than others depending on their importanceor criticality to the overall assembly. In some examples, the weldcriteria 352 may include weights for each weld in the weld projectand/or the weld monitoring process 300 may use the weld criteria 352 todetermine weights. As shown, the weld monitoring process 300 proceeds toblock 320 after block 318, where the weld monitoring process 300communicates the score 350 to the operator 116, such as via the userinterface 106 and/or operator interface 144.

FIG. 5 a is a flowchart illustrating an example virtual marking process500 of the welding system 100. In some examples, the virtual markingprocess 500 is configured to generate one or more virtual markings 600in response to one or more dynamic input(s) indicating a location (e.g.,on a workpiece 110) for the virtual marking(s) 600. In some examples,some or all of the virtual marking process 500 may be implemented inmachine readable instructions stored in memory 206 and/or executed bythe one or more processors 204. In some examples, some or all of thevirtual marking process 500 may be implemented in analog and/or discretecircuitry. In some examples, the virtual marking process 500 may beimplemented via the welding-type power supply 108, such as throughcontrol circuitry 134 (and/or memory 136 and processor(s) 138). In someexamples, the virtual marking process 500 may be initiated and/orterminated by an operator 116, some other user, and/or programmatically(e.g., via another program and/or process).

In the example of FIG. 5 a , the virtual marking process 500 begins atblock 502. At block 502, the virtual marking process 500 displaysexisting virtual markings 600 (e.g., via the display screen 104). Thevirtual markings 600 are displayed using marking properties of thevirtual markings 600. In some examples, marking properties may includevisual properties (e.g., color(s), style(s), transparency, thickness,etc.) of the marks, such as when displayed via display screen 104. Insome examples, the virtual marking process 500 determines the markingproperties before displaying the existing markings at block 502. Forexample, the virtual marking process 500 may load previously set markingproperties, such as from memory 206 (and/or some other memory). In someexamples, marking properties may be automatically set (e.g., by atraining program). In some examples, all virtual markings 600 may sharethe same marking properties. In some examples, marking properties may beindividually set for each virtual marking 600. In some examples, some ofthe virtual markings 600 may share the same marking properties (e.g.,default marking properties), while other virtual markings 600 haveindividualized marking properties. In some examples, some or all of thevirtual markings 600 may have (and/or be set to have) different markingproperties depending on whether the virtual marking 600 is active (e.g.,selected) or inactive (e.g., unselected), and/or the mode of the markingdata 550 (e.g., markup mode, information mode, operation mode, etc.).

FIG. 6 a shows example virtual markings 600 with identical markingproperties displayed via display screen 104. FIG. 6 b shows examplevirtual markings 600 with different marking properties displayed viadisplay screen 104. In the examples of FIGS. 6 a and 6 b , there is afirst virtual marking 600 a and a second virtual marking 600 a. In theexample of FIG. 6 a , the mode of the marking data 550 is a first mode(e.g., a markup mode). In the example of FIG. 6 b , the mode of themarking data 550 is a second mode (e.g., operation mode, informationmode, etc.) that is different from the first mode. As shown, firstvirtual marking 600 a and second virtual marking 600 b have the samemarking properties in the example of FIG. 6 a . However, in the exampleof FIG. 6 b , the first virtual marking 600 a and second virtual marking600 b have marking properties that are both different from each other,and different from their own marking properties in FIG. 6 a . FIG. 9 cfurther illustrates two virtual markings 600 (first marking 600 a andsecond marking 600 b) having the same marking properties, while a thirdvirtual marking 600 c has different marking properties due to the factthat the third virtual marking 600 c is an active marking, while thefirst virtual marking 600 a and second virtual marking 600 b areinactive markings.

In the example of FIG. 5 a , the virtual marking process 500 loopsbetween block 502, where the virtual markings 600 are displayed, andblock 504 until there is an interrupt. At block 504, the virtual markingprocess 500 checks whether there has been an interrupt. If the virtualmarking process 500 determines there has not been an interrupt at block504, the virtual marking process 500 returns to block 502. If, however,the virtual marking process 500 determines there has been an interruptat block 504, the virtual marking process 500 proceeds to block 506,where a determination is made as to the type of interrupt.

In some examples, an interrupt may occur when the computing system 200(and/or virtual marking process 500) receives one or more signalsindicative of a dynamic input (e.g., dynamic marking, a dynamicactivation/deactivation of a virtual marking 600) or a modification ofmarking data 550. For example, the operator 116 (or some other user) maydynamically activate the trigger 119 of the welding torch 118 while inmarkup mode, in which case one or more signals indicative of the triggeractivation may be relayed to the computing system 200 and/or virtualmarking process 500. As another example, the operator 116 (or some otheruser) may dynamically activate the secondary input 154 of the weldingtorch 118, in which case one or more signals indicative of the secondaryinput 154 activation may be relayed to the computing system 200 and/orvirtual marking process 500. As another example, the operator 116 (orsome other user) may dynamically activate the first input 164 and/orsecond input 166 of the marking utensil 152, in which case one or moresignals indicative of the first input 164 and/or second input 166activation may be relayed to the computing system 200 and/or virtualmarking process 500. As another example, the operator 116 (or some otheruser) may dynamically activate the first input 164 and/or second input166 of the marking utensil 152, in which case one or more signalsindicative of the first input 164 and/or second input 166 activation maybe relayed to the computing system 200 and/or virtual marking process500. As another example, the operator 116 (or some other user orprogram) may modify some or all of the marking data 550 (e.g., via theuser interface 106), in which case one or more signals indicative of themodification(s) may be relayed to the computing system 200 and/orvirtual marking process 500. As another example, the user interface 106may receive a user input indicative of a virtual markingcreation/modification/removal and/or activation/deactivation, in whichcase one or more signals indicative of the user input may be relayed tothe computing system 200 and/or virtual marking process 500. As anotherexample, the cameras 114 may dynamically capture images and/or thecomputing system 200 may recognize objects in the camera capture imagesthat induce an interrupt.

In the example of FIG. 5 a , if the virtual marking process 500determines there has not been an interrupt at block 504, the virtualmarking process 500 returns to block 502. If, however, the virtualmarking process 500 determines there has been an interrupt at block 504,the virtual marking process 500 proceeds to block 506, where adetermination is made as to the type of interrupt. In the example ofFIG. 5 a , the virtual marking process 500 handles the interrupt at oneof blocks 508 a, 508 b, or 508 c, depending on the type of interrupt,before returning to the loop at block 502.

At block 506, the virtual marking process 500 determines an interrupttype. In the example of FIG. 5 a , there are three different potentialinterrupt types: (A) an interrupt indicative of modification of some orall of the marking data 550; (B) an interrupt indicative of a dynamiccreation, modification, or removal of a virtual marking 600; and (C) aninterrupt indicative of a dynamic activation or deactivation of anexisting virtual marking 600. If the virtual marking process 500determines that the interrupt is type A, the virtual marking process 500proceeds to block 508 a. If the virtual marking process 500 determinesthe interrupt is type B, the virtual marking process proceeds to block508 b. If the virtual marking process 500 determines the interrupt istype C, the virtual marking process proceeds to block 508 c. In someexamples, there may be more, fewer, and/or different interrupt types.

In the example of FIG. 5 a , the virtual marking process 500 proceeds toblock 508 a when the virtual marking process 500 determines that theinterrupt is a type A interrupt indicative of modification of some orall of the marking data 550. At block 508 a, the operator 116 (or someother user or program) may select to modify the marking data 550. Insome examples, the operator 116 (or other user) may provide an inputindicative of a command to modify the marking data 550, such as via theuser interface 106, the secondary input 154 of the torch 118, the firstinput 164 or second input 166 of the marking utensil 152, and/or someother input mechanism. In some examples, a related program (e.g., atraining program and/or welding program) may automatically modify themarking data 550 at block 508 a. For example, at block 508 amodifications may be made to the mode (e.g., to enter/leave markup mode,information mode, operation mode, etc.), the location(s) of one or moreexisting virtual markings 600, the details of one or more existingvirtual markings 600, the properties of one or more existing virtualmarkings 600, the mechanism(s) for creating, modifying, and/or removingvirtual markings 600, and/or which virtual markings 600 are active orinactive. In some examples, the display screen 104 and/or user interface106 may display the marking data 550 when the modifications are beingmade. After the modifications are complete, the virtual marking process500 returns to block 502, as indicated by arrows 501.

In the example of FIG. 5 a , the virtual marking process 500 proceeds toblock 508 b when the virtual marking process 500 determines that theinterrupt is a type B interrupt indicative of a dynamic creation,modification, or removal of a virtual marking 600. At block 508 b, thevirtual marking process 500 handles dynamic creation, modification,and/or removal of virtual markings 600. In some examples, virtualmarkings 600 may be created, modified, and/or removed at any time. Insome examples, virtual markings 600 may only be created, modified,and/or removed during markup mode.

In some examples, some or all other functions (besides marking) of thewelding system 100 may be disabled in markup mode. For example, (live ormock) welding operations may be disabled in markup mode so as to allowinput mechanisms (e.g., trigger 119 of welding torch 118) thatconventionally induce welding responses to instead induce virtualmarking responses. In some examples, there may be no markup mode, andonly input mechanisms dedicated solely to virtual marking (e.g.,secondary input 154 of torch 118, portions of user interface 106, firstinput 164 and second input 166 of marking utensil 152, etc.) may be usedto perform virtual marking operations.

FIG. 5 b illustrates an example process for creation, modification,and/or removal of virtual markings 600 in response to a type Binterrupt. In some examples, the type B interrupt may comprise a signalindicative of a dynamic input. For example, the dynamic input maycomprise activation of the first input 164 and/or second input 166 ofthe marking utensil 152, or activation of the trigger 119 (e.g., inmarkup mode) or secondary input 154 of the welding torch 118. In such anexample, the dynamic input is associated with a location or position ofthe marking utensil 152 or welding torch 118 (e.g., location of tip 162of marking utensil 152 and/or nozzle of welding torch 118). In someexamples, the dynamic input may be a user input received via the userinterface 106 indicative of a virtual markingcreation/modification/removal. In such an example, a representation ofthe workpiece 110 may be displayed on the user interface 106 and theuser input (e.g., received via a touch on the touch screen), may beassociated with (and/or translated to) a location or position on theworkpiece 110. In some examples, the dynamic input may comprise dynamicrecognition of a certain location and/or portion of the workpiece 110corresponding to a virtual marking 600. For example, when processing theimages captured by the cameras 114 in relation to one or more 3D models250, the computing system 200 may recognize a certain location and/orportion of the workpiece 110 corresponding to a virtual marking 600. Insome examples, this recognition may be aided by one or more actualmarkings 122 on the workpiece 110. In some examples, type B interruptdynamic inputs may only be received during a certain mode (e.g., markupand/or information mode). In some examples, type B interrupt dynamicinputs may be received any time.

In the example of FIG. 5 b , the block 508 b process begins at block510, where the virtual marking process 500 determines the associatedlocation of the dynamic input. For example, the associated location maybe a location or position of the marking utensil 152 or welding torch118 (e.g., location of tip 162 of marking utensil 152 and/or nozzle ofwelding torch 118), or a certain location on the workpiece 110dynamically recognized from captured images and/or correlated with auser input via user interface 106. In some examples, determination ofthe location at block 510 may comprise processing of the images (and/ormarkers 122 in the images) captured by the cameras 114 in relation toone or more 3D models 250.

In the example of FIG. 5 b , the virtual marking process 500 proceeds toblock 512 after the location associated with the dynamic input isdetermined. At block 512, the virtual marking process 500 determineswhether the location corresponds to a location of the workpiece 110. Ifthe location does not correspond to a location of the workpiece 110,then the virtual marking process 500 concludes there has been some erroror improper marking attempt, and returns (at block 503) to the displayand interrupt check loop of block 502 in FIG. 5 a . If the location doescorrespond to a location of the workpiece 110, then the virtual markingprocess 500 proceeds to block 514.

At block 514, the virtual marking process 500 determines whether thereis an existing virtual marking 600 at the location. In some examples,the virtual marking process 500 may use the location associated with thedynamic input and the marking locations in the marking data 550 to makethe determination. In the example of FIG. 5 b , if there is an existingvirtual marking 600 at the location, the virtual marking process 500proceeds to block 518 where the existing virtual marking 600 may bemodified and/or removed. If there is not an existing virtual marking 600at the location, the virtual marking process 500 proceeds to block 516,where a new virtual marking 600 may be created, such as by using themarking mechanism(s) in the marking data 550, for example.

FIGS. 7 a-9 b illustrate different example marking mechanisms that maybe used at block 516 (and/or block 518). In some examples, the markingmechanism may comprise one or more particular mechanisms for generating(and/or modifying/removing) all or part of a virtual marking 600. Thesame or different marking mechanisms may be used to create, modify,and/or remove virtual markings. As shown, the measurements 156 of theruler 150 is rendered and superimposed on the workpiece 110 by thecomputing system 200 to assist in creating (and/or modifying) virtualmarkings 600. In some examples, the measurements 156 may be renderedand/or superimposed on the workpiece 110 by the computing system evenwithout the use of the ruler 150. In the disclosure below, virtualmarking tool is used to refer to a tool that may be recognized by thevirtual marking process 500 (e.g., welding torch 118 and/or markingutensil 152). While the virtual marking tool shown in the examples ofFIGS. 7 a-8 d is the marking utensil 152, other virtual marking tools(e.g., the welding torch 118) may be used.

In the example of FIGS. 7 a-7 d , a point to point or drag and dropmarking mechanism is shown. In the point to point marking mechanism, anoperator 116 or other user uses a virtual marking tool (e.g., weldingtorch 118 or marking utensil 152) to indicate (e.g., via activation oftrigger 119, secondary input 154, first input 164, and/or second input166) a first point 702 a and a second point 702 b, and the virtualmarking process 500 connects the two points 702 to create the virtualmarking 600. Though, in the example of FIG. 7 d , the virtual markingprocess 500 has connected the first point 702 a and second point 702 bwith a straight line, in some examples, the virtual marking process 500may connect the first point 702 a and second point 702 b with a curvedline, such as in view of the selected marking mechanism(s) of themarking data 550. In some examples, more than two points 702 may beidentified, so as to form a virtual marking 600 comprising three or morepoints, connected by two or more straight and/or curved line segments.

In the drag and drop marking mechanism, an operator 116 or other useruses a virtual marking tool (e.g., welding torch 118 or marking utensil152) to indicate (e.g., via activation of trigger 119, secondary input154, first input 164, and/or second input 166) a first point 702 a, andthen moves the virtual marking tool along a desired path to make thevirtual marking 600. While the virtual marking tool is moved, thevirtual marking process 500 continually generates the virtual marking600 via generation of numerous additional points 702 following the samepath. In some examples, the operator 116 or other user may have tocontinually activate (e.g., press and hold) an input mechanism of thevirtual marking tool for the additional points to be generated. In suchan example, the operator 116 or other user may terminate furthercreation of additional points of the virtual marking 600 by ceasing toactivate (e.g., releasing) the input mechanism of the virtual markingtool. In some examples, the numerous additional points may becontinually generated until the operator 116 or other user againactivates the input. Once the additional points cease being generated,the virtual marking 600 is terminated at the second point 702 b. In someexamples, the additional points may be continually generated in astraight path, curved path, or free-flowing path depending on theselected marking mechanism of the marking data 550.

In the example of FIGS. 8 a-8 d , a pre-formed placement markingmechanism is used, where an already formed virtual marking 600 is placedwholesale using a virtual marking tool. For example, a first activationof the virtual marking tool may create the fully formed virtual marking600, which may thereafter be moved to the proper location and placed viaa second activation of the virtual marking tool. In the example of FIGS.8 a-8 b , the virtual marking 600 is created via a first activation(e.g., of the first input 164 or second input 166) of the markingutensil 152, such that the tip 162 of the marking utensil 152 is at anapproximate middle of the virtual marking 600. Thereafter, in FIG. 8 c-8d , the marking utensil 152 is moved to the appropriate location and thevirtual marking 600 is placed via a second activation of the markingutensil 152. In some examples, the virtual marking 600 may be createdwholesale and placed without the use of a virtual marking tool, such asin examples, where the dynamic input comprises dynamic recognition fromcaptured images.

In the examples of FIGS. 9 a and 9 b , the virtual marking 600 iscreated via the user interface 600. As shown, a finger 902 of the usertouches a point 904 on the display of the user interface 106 depictingthe workpiece 110 to create the virtual marking 600. In some examples,the user interface 106 may not be a touch screen, and an input from amouse or other conventional input device may replace the touch of thefinger 902 of the user. In some examples, the point to point, drag anddrop, and/or pre-formed placement marking mechanisms described above maybe used in this way to create the virtual marking 600 via the userinterface 106. In some examples, the computing system and/or virtualmarking process 500 may translate the location of the point # on thedisplay of the user interface 106 to a location associated with theworkpiece 110 (and/or a location associated with the 3D model of theworkpiece 110), and handle the creation of the virtual marking 600accordingly. In the example of FIG. 5 b , once the virtual marking 600is created and placed at block 516, the virtual marking process 500returns (at block 503) to the display and interrupt check loop of blocks502, 504 in FIG. 5 a.

In the example of FIG. 5 b , if there is an existing virtual marking 600at the location, the virtual marking process 500 proceeds to block 518where the existing virtual marking 600 may be modified and/or removed.In some examples, the operator 116 or other user may indicate the typeof modification or erasure (e.g., modification of point location, numberof points, linear or curved connection, whole erasure, erasure of singlepoint, erasure of portion of connection, etc.) using the user interface106, different input mechanisms of the virtual marking tool, and/ordifferent activation methods (e.g., double clicking, single clicking,press and hold, press and release, etc.). For example, where the pointto point marking mechanism is used, an operator 116 may modify theplacement of points by activating an input mechanism of the virtualmarking tool when the virtual marking tool is at a locationcorresponding to the first point 702 a or second point 702 b, and eitherdragging and dropping the first point 702 a or second point 702 b to anew location, or moving the virtual marking tool to the new location andagain activating (e.g., depending on marking mechanism settings). Asanother example, an operator 116 or other user may modify the type ofconnection (e.g., linear or curved) between the first point 702 a andsecond point 702 b through activation of the virtual marking tool. Asanother example, the virtual marking 600 may be moved wholesale, such asvia the pre-formed placement marking mechanism. In the example of FIG. 5b , once the virtual marking 600 is modified or erased at block 518, thevirtual marking process 500 returns (at block 503) to the display andinterrupt check loop of blocks 502, 504 in FIG. 5 a.

FIG. 5 c further illustrates a detailed example process dynamicallyactivating or deactivating an existing virtual markings 600 in responseto a type C interrupt at block 508 c. In some examples, the type Cinterrupt may comprise a signal indicative of a dynamic input. Forexample, the dynamic input may comprise activation of the first input164 and/or second input 166 of the marking utensil 152, or activation ofthe trigger 119 or secondary input 154 of the welding torch 118. In suchan example, the dynamic input is associated with a location or positionof the marking utensil 152 or welding torch 118 (e.g., location of tip162 of marking utensil 152 and/or nozzle of welding torch 118). In someexamples, such a dynamic input may only be received during a certainmode (e.g., markup and/or information mode). In some examples, such adynamic input may be received any time.

In the example of FIG. 5 c , the block 508 c process begins at block522, where the virtual marking process 500 determines the associatedlocation of a dynamic input. For example, the associated location may bea location or position of the marking utensil 152 or welding torch 118(e.g., location of tip 162 of marking utensil 152 and/or nozzle ofwelding torch 118), or a certain location on the workpiece 110dynamically recognized from captured images. In some examples,determination of the location at block 520 may comprise receiving and/orprocessing input via the user interface 106 (e.g., selection of avirtual marking 600 via user interface 106, and determination ofcorresponding associated marking location via the marking data 550). Inthe example of FIG. 5 c , the virtual marking process 500 proceeds toblock 522 after determination of the location of the dynamic input.

At block 522, the virtual marking process 500 determines whether thereis an existing virtual marking 600 at the location. In some examples,the virtual marking process 500 may use the location associated with thedynamic input and the marking locations in the marking data 550 to makethe determination. In the example of FIG. 5 c , if there is not anexisting virtual marking 600 at the location, then the virtual markingprocess 500 concludes there has been some error or improper activationattempt, and returns (at block 503) to the display and interrupt checkloop at blocks 502, 504 in FIG. 5 a . If there is an existing virtualmarking 600 at the location, the virtual marking process 500 proceeds toblock 524 where the virtual marking 600 may be activated or deactivated.

At block 524, the virtual marking 600 may be activated or deactivated.In some examples, if the virtual marking 600 is already active then thevirtual marking 600 will be deactivated, and if the virtual marking 600is already inactive then the virtual marking 600 will be activated. Insome examples, only one virtual marking 600 may be active at a time,such that activation of a second virtual marking 600 results inautomatic deactivation of the first virtual marking 600. In someexamples, multiple virtual markings 600 may be active at the same time.

In some examples, the virtual marking process 500 may automaticallymodify the marking properties corresponding to the virtual marking 600in response to activation (or deactivation) of the virtual marking 600.For example, the marking properties may be modified to highlight and/oremphasize the active virtual marking(s) 600 (and/or deemphasize inactivevirtual marking(s) 600), such as by making the activated virtualmarking(s) 600 larger, brighter, more colorful, animated, etc. In someexamples, activation or deactivation may be performed through activationof a virtual marking tool when the virtual marking tool is at a locationcorresponding to the virtual marking 600. In some examples, activationmay be performed by simply positioning the virtual marking tool at thelocation corresponding to the virtual marking 600. In some examples, thevirtual marking 600 will stay activated until affirmative deactivation.In some examples, the virtual marking 600 will only stay active as longas the virtual marking tool is positioned at the location correspondingto the virtual marking 600.

In the example of FIG. 5 c , the virtual marking process 500 proceeds toblock 526 after activation or deactivation in block 524. At block 526,the virtual marking process 500 displays the marking detail for theactivated marking(s), such as via display screen 104. In some examples,the marking detail may be continuously displayed as long as the virtualmarking 600 is active. In some examples the marking detail for theactivated virtual marking 600 may only be displayed while the virtualmarking tool is in the position corresponding to the activated virtualmarking 600 (and/or an appropriate input is received from the virtualmarking tool). After block 526, the virtual marking process 500 returns(at block 503) to the display and interrupt check loop at blocks 502,504 in FIG. 5 a.

FIGS. 10 a-10 c shows an example of marking details being displayed viadisplay screen 104. In the example of FIG. 10 a , the welding torch 118is positioned with its nozzle at a position corresponding to thelocation of the virtual marking 600 a and has activated the virtualmarking 600 a, such as through an appropriate input communicated throughthe welding torch 118 (e.g., switching to information mode via thesecondary input 154 and then activating the trigger 118). FIG. 10 billustrates an alternative example of an operator 116 activating thevirtual marking 600 through the user interface 106. In the example ofFIG. 10 c , the display screen 104 shows an activated virtual marking600 c that is emphasized, such that the virtual marking 600 c stands outand is distinct from inactive virtual markings 600 a and 600 b. Themarking details (abstracted in FIG. 9 c ) are shown as appearing in apop up window 1000 that is indicated as being associated with thevirtual marking 600 a.

In some examples, the above disclosed welding system 100 may be used ina training setting and/or production setting to provide feedback and/orguidance to operators 116 as they perform live or mock welding tasks,and thereby increase the overall efficiency, productivity, and/orquality of such welding tasks.

While the present apparatus, systems, and/or methods have been describedwith reference to certain implementations, it will be understood bythose skilled in the art that various changes may be made andequivalents may be substituted without departing from the scope of thepresent apparatus, systems, and/or methods. In addition, manymodifications may be made to adapt a particular situation or material tothe teachings of the present disclosure without departing from itsscope. Therefore, it is intended that the present apparatus, systems,and/or methods not be limited to the particular implementationsdisclosed, but that the present apparatus, systems, and/or methods willinclude all implementations falling within the scope of the appendedclaims.

What is claimed is:
 1. A weld system, comprising: a mock or livewelding-type power supply; a sensor configured to detect sensor datarelating to a welding tool; processing circuitry; and a machine readablestorage device comprising machine readable instructions which, whenexecuted, cause the processing circuitry to: monitor a welding toollocation of the welding tool based on the sensor data, the welding toolbeing configured to perform one or more welds, identify a particularweld that should be performed next in an ordered sequence of welds,identify a target weld location corresponding to the particular weld, inresponse to detecting activation of the welding tool, identify thewelding tool location based on the sensor data, set a welding parameterof the mock or live welding-type power supply based on the welding toollocation, determine a performance score of an operator or the one ormore welds based on whether the welding tool location corresponds to thetarget weld location, and provide an output based on the performancescore, wherein the sensor comprises a camera, or the output is providedvia a display screen.
 2. The system of claim 1, wherein the performancescore is additionally based on one or more of a measured weld technique,weld equipment settings, a length of the particular weld, a number ofcompleted welds, or a number of missed welds.
 3. The system of claim 1,wherein the target weld location is identified from an ordered sequenceof welding locations corresponding to the ordered sequence of welds. 4.The system of claim 3, further comprising a display screen configured todisplay one or more visual identifiers corresponding to the orderedsequence of welding locations.
 5. A weld system, comprising: a sensorconfigured to detect sensor data relating to a welding tool; processingcircuitry; and a machine readable storage device comprising machinereadable instructions which, when executed, cause the processingcircuitry to: monitor a welding tool location of the welding tool basedon the sensor data, the welding tool being configured to perform one ormore welds, identify a particular weld that should be performed next inan ordered sequence of welds, identify a target weld locationcorresponding to the particular weld, wherein the target weld locationis identified from an ordered sequence of welding locationscorresponding to the ordered sequence of welds, in response to detectingactivation of the welding tool, identify the welding tool location basedon the sensor data, prohibit welding when the target weld location doesnot correspond to the welding tool location, determine a performancescore of an operator or the one or more welds based on whether thewelding tool location corresponds to the target weld location, andprovide an output based on the performance score.
 6. The system of claim5, wherein the one or more welds comprise one or more simulated welds.7. The system of claim 6, further comprising a display screen configuredto display the one or more simulated welds.
 8. The system of claim 5,wherein the one or more welds comprise one or more live welds.
 9. Thesystem of claim 5, wherein the sensor comprises a camera, or the outputis provided via a display screen.
 10. The system of claim 5, furthercomprising a mock or live welding-type power supply, wherein the machinereadable storage device further comprises machine readable instructionswhich, when executed, cause the processing circuitry to set weldingparameters of the mock or live welding-type power supply based on thewelding tool location.
 11. A method for welding, comprising: monitoringone or more welds performed using a welding tool, wherein the monitoringincludes tracking a welding tool location using one or more cameras, andmonitoring a location or an order of the one or more welds; setting oneor more welding parameters of a welding-type power supply based on thewelding tool location; identifying a particular weld that should beperformed next in an ordered sequence of welds; identifying a targetweld location corresponding to the particular weld; in response todetecting activation of the welding tool, identifying the welding toollocation; and determining, via processing circuitry, a performance scorefor an operator or the one or more welds based on whether the weldingtool location corresponds to the target weld location.
 12. The method ofclaim 11, wherein the performance score is additionally based on one ormore of a measured weld technique, weld equipment settings, thelocations of the welds, lengths of the welds, a number of completedwelds, or a number of missed welds.
 13. The method of claim 11, whereinthe target weld location is identified from an ordered sequence ofwelding locations corresponding to the ordered sequence of welds. 14.The method of claim 13, further comprising displaying, on a displayscreen, a plurality of visual identifiers corresponding to the orderedsequence of welding locations.
 15. The method of claim 11, furthercomprising prohibiting, via the processing circuitry, welding when thetarget weld location does not correspond to the welding tool location.16. The method of claim 11, wherein the one or more welds comprise oneor more simulated welds.
 17. The method of claim 16, further comprisingdisplaying the one or more simulated welds on a display screen.
 18. Themethod of claim 11, wherein the one or more welds comprise one or morelive welds.
 19. The method of claim 11, wherein the performance score isfor the one or more welds.
 20. The method of claim 11, wherein the oneor more welding parameters comprise one or more of a voltage, current,gas type, wire feed speed, workpiece material type, or filler type.